package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.evefeast.EveFeastBlock;
import com.yanqu.road.entity.activity.evefeast.EveFeastLogItem;

import java.sql.Types;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_ck_activity_evefeast_play", autoSave = true,uploadCk = true,desc = "秋夕雅宴-游宴日志")
public class LogEveFeastPlay extends ServerBaseLog{

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "关卡id")
    private int turnId;
    @FieldTypeAnnotation(desc = "回合")
    private int round;
    @FieldTypeAnnotation(desc = "总分")
    private int score;
    @FieldTypeAnnotation(desc = "剩余分")
    private int remain;
    @FieldTypeAnnotation(desc = "是否结束")
    private boolean isEnd;
    @FieldTypeAnnotation(desc = "是否放弃")
    private boolean isCancel;
    @FieldTypeAnnotation(desc = "游宴开始前格子布局", saveJson = true)
    private List<EveFeastLogItem> blocks = new ArrayList<>();
    @FieldTypeAnnotation(desc = "添加的物品", saveJson = true)
    private List<EveFeastLogItem> addItems = new ArrayList<>();
    @FieldTypeAnnotation(desc = "消除的物品", saveJson = true)
    private List<EveFeastLogItem> eliminateBlocks = new ArrayList<>();

    public LogEveFeastPlay(int activityId, long userId, int turnId, int round, int score, int remain, boolean isEnd, boolean isCancel) {
        this.activityId = activityId;
        this.userId = userId;
        this.turnId = turnId;
        this.round = round;
        this.score = score;
        this.remain = remain;
        this.isEnd = isEnd;
        this.isCancel = isCancel;

    }

    public LogEveFeastPlay(int activityId, long userId, int turnId, int round, int score, int remain, boolean isEnd, boolean isCancel, List<EveFeastLogItem> blocks, List<EveFeastLogItem> addItems, List<EveFeastLogItem> eliminateBlocks) {
        this.activityId = activityId;
        this.userId = userId;
        this.turnId = turnId;
        this.round = round;
        this.score = score;
        this.remain = remain;
        this.isEnd = isEnd;
        this.isCancel = isCancel;
        this.blocks = blocks;
        this.addItems = addItems;
        this.eliminateBlocks = eliminateBlocks;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getTurnId() {
        return turnId;
    }

    public void setTurnId(int turnId) {
        this.turnId = turnId;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public int getRemain() {
        return remain;
    }

    public void setRemain(int remain) {
        this.remain = remain;
    }

    public boolean isEnd() {
        return isEnd;
    }

    public void setEnd(boolean end) {
        isEnd = end;
    }

    public boolean isCancel() {
        return isCancel;
    }

    public void setCancel(boolean cancel) {
        isCancel = cancel;
    }

    public List<EveFeastLogItem> getBlocks() {
        return blocks;
    }

    public void setBlocks(List<EveFeastLogItem> blocks) {
        this.blocks = blocks;
    }

    public List<EveFeastLogItem> getAddItems() {
        return addItems;
    }

    public void setAddItems(List<EveFeastLogItem> addItems) {
        this.addItems = addItems;
    }

    public List<EveFeastLogItem> getEliminateBlocks() {
        return eliminateBlocks;
    }

    public void setEliminateBlocks(List<EveFeastLogItem> eliminateBlocks) {
        this.eliminateBlocks = eliminateBlocks;
    }
}
